package com.papercutting.platform.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 活动资讯实体
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pc_news")
public class News extends BaseEntity {
    
    /**
     * 标题
     */
    @TableField("title")
    private String title;

    /**
     * 副标题
     */
    @TableField("subtitle")
    private String subtitle;

    /**
     * 封面图片
     */
    @TableField("cover_image")
    private String coverImage;

    /**
     * 摘要
     */
    @TableField("summary")
    private String summary;

    /**
     * 详细内容
     */
    @TableField("content")
    private String content;

    /**
     * 类型 1-活动 2-资讯 3-公告
     */
    @TableField("type")
    private Integer type = 1;

    /**
     * 标签，逗号分隔
     */
    @TableField("tags")
    private String tags;

    /**
     * 作者
     */
    @TableField("author")
    private String author;

    /**
     * 来源
     */
    @TableField("source")
    private String source;

    /**
     * 发布时间
     */
    @TableField("publish_time")
    private LocalDateTime publishTime;
    
    /**
     * 活动开始时间
     */
    @TableField("event_start_time")
    private LocalDateTime eventStartTime;

    /**
     * 活动结束时间
     */
    @TableField("event_end_time")
    private LocalDateTime eventEndTime;

    /**
     * 活动地点
     */
    @TableField("event_location")
    private String eventLocation;

    /**
     * 浏览量
     */
    @TableField("view_count")
    private Integer viewCount = 0;

    /**
     * 点赞量
     */
    @TableField("like_count")
    private Integer likeCount = 0;

    /**
     * 分享量
     */
    @TableField("share_count")
    private Integer shareCount = 0;

    /**
     * 排序号
     */
    @TableField("sort_order")
    private Integer sortOrder = 0;

    /**
     * 状态 0-草稿 1-已发布 2-已下架
     */
    @TableField("status")
    private Integer status = 0;

    /**
     * 是否推荐
     */
    @TableField("is_recommend")
    private Boolean isRecommend = false;

    /**
     * 是否置顶
     */
    @TableField("is_top")
    private Boolean isTop = false;

    /**
     * 创建者ID
     */
    @TableField("creator_id")
    private Long creatorId;

    /**
     * 创建者名称
     */
    @TableField("creator_name")
    private String creatorName;
}